package org.jeecg.modules.coucourseschedule.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: cou_course_schedule
 * @author: baochangrong
 * @Date:   2022-02-24
 * @Version: V1.0
 */
@Data
@TableName("cou_course_schedule")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cou_course_schedule对象", description="cou_course_schedule")
public class CouCourseSchedule implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
	/**课表编码*/
	@Excel(name = "课表编码", width = 15)
    @ApiModelProperty(value = "课表编码")
    private String courseScheduleCode;
	/**课表名称*/
	@Excel(name = "课表名称", width = 15)
    @ApiModelProperty(value = "课表名称")
    private String courseScheduleName;
	/**课表类型(1:班级(默认);2教室场地 3.老师;4.科目 5:学生;)，课表应用对象类型*/
	@Excel(name = "课表类型(1:班级(默认);2教室场地 3.老师;4.科目 5:学生;)，课表应用对象类型", width = 15, dicCode = "course_target_obj_ttype")
	@Dict(dicCode = "course_target_obj_ttype")
    @ApiModelProperty(value = "课表类型(1:班级(默认);2教室场地 3.老师;4.科目 5:学生;)，课表应用对象类型")
    private Integer courseScheduleTtype;
	/**目标对象id(班级id(默认)，场地id，老师id，科目id,学生id)，表示该课表应用对象*/
	@Excel(name = "目标对象id(班级id(默认)，场地id，老师id，科目id,学生id)，表示该课表应用对象", width = 15)
    @ApiModelProperty(value = "目标对象id(班级id(默认)，场地id，老师id，科目id,学生id)，表示该课表应用对象")
    private String targetObjId;
	/**单双周标识(1单周（默认），2双周 3三周 4四周)*/
	@Excel(name = "单双周标识(1单周（默认），2双周 3三周 4四周)", width = 15, dicCode = "common_iz_single")
	@Dict(dicCode = "common_iz_single")
    @ApiModelProperty(value = "单双周标识(1单周（默认），2双周 3三周 4四周)")
    private Integer courseScheduleIzSingle;
	/**课表状态：(1初始 2预排课 3已排课 4已发布 5已下线 6需重排)*/
	@Excel(name = "课表状态：(1初始 2预排课 3已排课 4已发布 5已下线 6需重排)", width = 15, dicCode = "course_arrange_status")
	@Dict(dicCode = "course_arrange_status")
    @ApiModelProperty(value = "课表状态：(1初始 2预排课 3已排课 4已发布 5已下线 6需重排)")
    private String courseScheduleStatus;
	/**是否启用（0否停用，1是启用）*/
	@Excel(name = "是否启用（0否停用，1是启用）", width = 15, dicCode = "iz_open")
	@Dict(dicCode = "iz_open")
    @ApiModelProperty(value = "是否启用（0否停用，1是启用）")
    private Integer izOpen=1;
	/**是否删除（0否 1是已删除）*/
	@Excel(name = "是否删除（0否 1是已删除）", width = 15)
    @ApiModelProperty(value = "是否删除（0否 1是已删除）")
	@Dict(dicCode = "iz_delete")
    private Integer izDelete=0;
	/**学校编码*/
	@Excel(name = "学校编码", width = 15)
    @ApiModelProperty(value = "学校编码")
    private String tenantId;
	/**创建时间*/
	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
    private String courseScheduleCreateUser;
	/**编辑时间*/
	@Excel(name = "编辑时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "编辑时间")
    private Date courseScheduleEditTime;
	/**编辑人*/
	@Excel(name = "编辑人", width = 15)
    @ApiModelProperty(value = "编辑人")
    private String courseScheduleEditUser;
}
